1. Field of the Invention
The present invention relates to image processing, and more specifically, to a color interpolation apparatus and color interpolation method using edge indicators adjusted by stochastic adjustment factors to reconstruct missing colors for image pixels.
2. Description of the Prior Art
In an imaging system, three components of color information must be captured simultaneously to precisely presenting an image. To create an analogous digital imaging system that simultaneously captures all three components of the color information would require three individual imaging detectors. This would be prohibitive due to the high cost and would cause the packaging to be very complex. To keep the size and cost of a digital video imaging system to a minimum, an image sensor array of the system (using silicon chips) must keep its size small as well. Therefore, the number of color samples must be kept low. An alternative approach is to have each detector of the imaging system gathering data for a single color to create a sparse color image. Therefore, the imaging systems typically use a mosaic filter generally called a color filter array (CFA), and acquire a scene image by sampling one of the three different color components to obtain an array that stores only one color component per pixel. The imaging system gets a raw sensory data having less color samples per pixel because it ignores the other two color components for each pixel. Since each filter of the color filter array covers a single pixel and only allows a color in a specific spectral band to pass, before the scene image is further processed or displayed, the missing colors of each image pixel must be reconstructed so that each image pixel contains all three color components.
Because of the tri-stimulus nature of human color perception, to reconstruct a full color image (typically red, green, and blue or cyan, magenta, and yellow) from the raw sensory data, a color interpolation scheme is required to estimate these two missing color components for each of the image pixels. Based on an assumption that an object in the physical world usually gives rise to image intensities that vary smoothly over the image of the object, in order to economize processing resources, color interpolation is typically based upon color information at image pixels in a small neighborhood around each image pixel to be reconstructed. Given a known color filter array (CFA), such as Bayer pattern described in U.S. Pat. No. 3,971,065, the remaining two colors for each image pixel location can be reconstructed using color information provided by neighboring image pixels. The conventional color interpolation method uses replication of the values of the nearest neighboring image pixels, or alternatively uses linear or logarithmic averaging techniques for obtaining an average value of the neighboring image pixels for reconstructing the missing color. The color interpolation process to convert raw sensory image data into a full color image by estimating the missing color components of each image pixel from its neighboring image pixels is known as Demosaicing. Due to the aliasing effects caused by averaging (low-pass filtering) pixel values across the edges, most demosaicing approaches often introduce image effect problems like: zipper effects, false colors, or blur the edges of the image where there are dense edges. There are some conventional color interpolation methods to reduce or solve the image effect problems mentioned, such as: bilinear method, color difference based method, gradient-based method, and C2D2 (Color Correlations and Directional Derivatives) method. Most of the conventional methods can be classified into two categories: non-adaptive color interpolation or edge-directed adaptive color interpolation.
The non-adaptive color interpolation method involves the color interpolation as mentioned above, uniformly applied across the entire image, while the adaptive color interpolation, on the other hand, adjusts the weights of the color samples in the color interpolation process by utilizing the edge information. Moreover, a real-time application commonly requires an interpolation algorithm with minimum computational complexity to provide high quality images that are sharp and do not contain false color. The false color usually occurs around the edges of an image due to high spatial frequency. Localized spatial features, such as image edges and areas where hues of adjacent pixels change abruptly, cause estimation of a color to often be inaccurate. Further, false color usually occurs when one of the color components is missing making imaging systems that utilizes a CFA to acquire images particularly susceptible to this problem. Moreover, to provide sharp images with no false color, a well-known sharpening filter is usually applied to improve the image quality before displaying the image. However, when some color components are missing for each pixel, the color artifacts are not corrected with a sharpening filter, but are typically further visually enhanced after a sharpening filter is applied.
Therefore, the effectiveness of an adaptive color interpolation method highly depends on the edge detecting capability and the computational complexity of the interpolation algorithm when realizing the imaging system. In other words, the edge detecting capability plays an important role in color interpolation. Taking the C2D2 method for example, this method suffers from blurred edges and false colors. Therefore, there is a need for a color interpolation algorithm for digital imaging systems that uses fewer samples per image pixel yet can accurately reconstruct the missing color components to provide sharp images without zipper effects or false colors.